package com.pur.zsms.shopmanage.dao;

import java.util.List;

import com.pur.zsms.common.dao.JpaTemplate;
import com.pur.zsms.common.exception.GenericException;
import com.pur.zsms.common.support.PageController;
import com.pur.zsms.common.support.PaginationSupport;
import com.pur.zsms.matermanage.mater.vo.MaterVo;
import com.pur.zsms.pmsnmanage.menu.po.MenuPo;
import com.pur.zsms.pmsnmanage.user.po.LdAddressPo;
import com.pur.zsms.pmsnmanage.user.po.UserLevelPo;
import com.pur.zsms.pmsnmanage.user.po.UserPo;
import com.pur.zsms.pmsnmanage.user.po.UserRolePo;
import com.pur.zsms.pmsnmanage.user.vo.UserVo;
import com.pur.zsms.shopmanage.po.ShopPo;
import com.pur.zsms.shopmanage.po.ShopRaisePricePo;
import com.pur.zsms.shopmanage.po.ShopUserPo;
import com.pur.zsms.shopmanage.vo.ShopRaisePriceVo;
import com.pur.zsms.shopmanage.vo.ShopVo;
import com.pur.zsms.supplier.po.SupplierPo;

public interface IShopDao {
	public PaginationSupport listShop(PageController pageController, ShopVo shopVo) throws GenericException;

	public PaginationSupport listShopForSup(PageController pageController, ShopVo shopVo) throws GenericException;

	public PaginationSupport shopRaiseList(PageController pageController, ShopRaisePriceVo shopRaisePriceVo) throws GenericException;

	public void addShopPo(ShopPo c) throws GenericException;

	public void updateShopPo(ShopPo c) throws GenericException;

	public void addShopUserPo(ShopUserPo c) throws GenericException;

	public void deleteShopUserPoByShopId(long shopId) throws GenericException;

	public void deleteShopUserPoByUserId(long userId) throws GenericException;

	public void deleteShopRaise(long rpid) throws GenericException;

	public ShopPo getShopVoByShopId(long shopId) throws GenericException;

	public List<ShopPo> getShopPoByShopName(String shopName) throws GenericException;

	public List<ShopPo> getAllShopPo() throws GenericException;

	public List<ShopPo> getShopPoBycompanyId(String companyId) throws GenericException;

	public List<ShopPo> getShopPoBycompanyIdSupId(String companyId, long supId) throws GenericException;

	public List<ShopPo> getShopIdBycompanyIdAllSupId(String companyIdAll, long supId) throws GenericException;

	public List<ShopUserPo> getShopUserPoByUserId(long userId) throws GenericException;

	public List<ShopPo> getShopPoByShopId(long shopId) throws GenericException;

	public List<ShopPo> getShopPoByOrdId(long ordId) throws GenericException;

	public void addShopRaisePricePo(ShopRaisePricePo shopRaisePricePo) throws GenericException;

	public void updateShopRaisePricePo(ShopRaisePricePo c) throws GenericException;

	public List<ShopRaisePricePo> getShopRaisePricePoByShopIdMaterTypeSupId(long shopId, int materType, int supId) throws GenericException;

	public List<ShopRaisePricePo> getShopRaisePricePoByRpid(long rpid) throws GenericException;

	public List<ShopRaisePricePo> getShopRaisePricePoByShopIdMaterIdTypeSupId(long shopId, int materId, int supId) throws GenericException;

}
